<?php

if (! function_exists('config_path')) {
    function config_path($path = '')
    {
        return app()->basePath() . '/config' . ($path ? '/' . $path : $path);
    }
}

if (!function_exists('arrayCombineByKey')) {
    /**
     * 根据数组指定的键对应的值, 作为新数组的键名
     *
     * @param array $arr 二维数组
     * @param string $key 键名
     *
     * @return array
     */
    function arrayCombineByKey($arr, $key)
    {
        return array_combine(array_column($arr, $key), $arr);
    }
}

if (!function_exists('throwHttpError')) {
    function throwHttpError($msg, Throwable $e)
    {
        \Illuminate\Support\Facades\Log::error($msg . sprintf(': %s (%s[%d])', $e->getMessage(), $e->getFile(), $e->getLine()));
        throw new \Symfony\Component\HttpKernel\Exception\HttpException(400, $msg);
    }
}
